﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using System.Security.Principal;
using System.Threading;

namespace RevClinic.Core.Tests.Commands.ModelValidators
{
    /// <summary>
    /// Base class for model validator test. Create abstraction to create rich model and its initializer
    /// </summary>
    /// <typeparam name="TModel">Model type</typeparam>
    public abstract class ModelValidatorTestBase<TModel>
    {
        protected abstract TModel CreateRichModel();

        protected TModel CreateRichModel(Action<TModel> modelInit)
        {
            TModel model = CreateRichModel();
            modelInit(model);
            return model;
        }
    }
}
